package com.csf.service;

import com.csf.dto.req.FindUserByPhoneReqDTO;
import com.csf.dto.req.RegisterUserReqDTO;
import com.csf.dto.req.UpdateUserPasswordReqDTO;
import com.csf.dto.resp.FindUserByPhoneRspDTO;
import com.csf.fromwork.common.response.Response;
import com.csf.model.vo.UpdateUserInfoReqVO;

/**
 * 用户信息接口
 *
 * @author 陈树峰
 * @Date：2025/8/4 18:18
 */

public interface UserService {

    /**
     * 更新用户信息
     *
     * @param updateUserInfoReqVO
     * @return
     */
    Response<?> updateUserInfo(UpdateUserInfoReqVO updateUserInfoReqVO);

    /**
     * 用户注册
     *
     * @param registerUserReqDTO
     * @return
     */
    Response<Long> register(RegisterUserReqDTO registerUserReqDTO);


    /**
     * 根据手机号查询用户信息
     *
     * @param findUserByPhoneReqDTO
     * @return
     */
    Response<FindUserByPhoneRspDTO> findByPhone(FindUserByPhoneReqDTO findUserByPhoneReqDTO);

    /**
     * 更新密码
     *
     * @param updateUserPasswordReqDTO
     * @return
     */
    Response<?> updatePassword(UpdateUserPasswordReqDTO updateUserPasswordReqDTO);

}
